Conventionally, generation of a gait (desired gait) for causing a legged mobile robot, for example, a two-legged mobile robot to move has primarily been aimed to generate a gait (walking gait) which causes the robot to perform a smooth walking action. However, in recent years, as the development of the legged mobile robot has been advanced, it is desired to generate a gait that can cause the robot not only to walk but also run.
Note that, since the word “gait” in Chinese characters includes a Chinese character meaning “walk”, the word tends to be misunderstood as meaning only walking. However, originally, the word “gait” has a concept that also includes “running” as evidenced by the fact that it is used as a word for “trotting” or a running mode of a horse.
Here, a difference between characteristics of walking and running will be described.
It is a general practice to define a moving mode, in which there is an instance when all the legs are in the air simultaneously, as running. However, walking and running are not always distinguished clearly by this definition. For example, whereas, in fast jogging, most people find an instance when all the legs are in the air, in slow jogging, relatively large number of people find one of the legs is always in contact with the ground. It is slightly unreasonable perceptually to define that, while fast jogging is running, slow jogging is walking.
FIG. 48 shows a pattern of a body vertical position and a floor reaction force's vertical component (a sum of floor reaction force's vertical components acting on both the left and right legs) in typical running. FIG. 49 shows a pattern of a body vertical position and a floor reaction force's vertical component in typical walking.
Note that a body vertical position/velocity means a vertical position of a body representative point and a velocity thereof. A body horizontal position/velocity means a horizontal position of the body representative point and a velocity thereof. The body vertical position/velocity and the body horizontal position/velocity are collectively referred to as a body position velocity.
In addition, a “floor reaction force's vertical component” should be more precisely described as a “vertical component of the translation floor reaction force” in order to distinguish it from a moment component around a vertical axis of a floor reaction force. However, since the word is lengthy, “translation” is omitted here.
First, considering a movement of a body, during walking, the body is at the highest position at an instance when the body passes over a supporting leg and, during running, the body is at the lowest position at this instance. That is, a phase of a vertical motion pattern of the body is inversed during walking and running.
On the other hand, the floor reaction force is relatively constant during walking, while it fluctuates significantly and reaches the maximum at an instance when the body passes over the supporting leg during running. In addition, naturally, the floor reaction force is 0 at an instance when all the legs are in the air simultaneously. More specifically observed, during running, a floor reaction force of a magnitude generally proportional to an amount of drawing-in of the supporting leg is generated. In other words, during running, it can be said that a person is moving while using legs like springs to jump.
Slow jogging has the same phase of a body vertical movement as the typical running. In addition, in slow jogging, although there is almost no instance when all the legs are in the air simultaneously, even in that case, a floor reaction force is substantially 0, although not completely 0, at an instance when a supporting leg and a free leg are switched.
Therefore, it could be more appropriate to distinguish walking and running from the above-described characteristics of the patterns of a vertical movement of the body and the floor reaction force as described above because slow jogging is regarded as running, which coincides with perception.
In particular, if running and walking are distinguished in a most characteristic point, it could be said that running is a moving mode in which a floor reaction force is 0 or substantially 0 at an instance when a supporting leg is switched, and waling is the other moving modes (in which a floor reaction force's vertical component is relatively constant).
For a running gait, which involves a floating period during which all the legs of the robot float in the air, a non-zero floor reaction force is applied to the robot during a landing period in which either one of the legs is in contact with the floor, while only gravity is applied to the robot during the floating period described above. Thus, for generating a desired running gait for a robot, it is generally contemplated that totally different gait generation algorithms are used for the landing period and the floating period to generate the desired running gait.
However, if such different gait generation algorithms are used for the landing period and the floating period, two algorithms have to be prepared, and it is difficult to ensure continuity of the robot gait at the boundary between the landing period and the floating period.
In Japanese Patent Laid-Open No. 10-86081, Japanese Patent Laid-Open No. 10-277969 and Japanese Patent Application No. 2000-352011, the applicants have already proposed techniques for generating a legged mobile robot's gait involving a floor reaction force using an approximate dynamics model or the like while satisfying a dynamical equilibrium condition (The dynamical equilibrium condition is a balance condition among the gravity, inertial force and floor reaction force for a desired gait. In a narrow sense, the condition is that the horizontal component of the moment produced about the desired ZMP by the resultant force of gravity and the inertial force caused by the movement of the desired gait is 0. Details thereof will be described later). However, these techniques are essentially intended to generate a gait on the assumption that any of the legs is in contact with the floor and inadequately allow for generation of a gait having the floating gait.
Therefore, an object of the present invention is to provide a gait generation device that can generate a gait for a legged mobile robot which has floating periods and landing periods appearing alternately using a same algorithm for the floating period and the landing period. Furthermore, another object of the present invention is to provide a gait generation device that can generate a gait with which the robot can move smoothly with a reduced amount of calculation.
Furthermore, another object of the present invention is to provide a control device for the legged mobile robot which can adequately make the robot to move smoothly with the gait generated by the gait generation device.